﻿// Version posterior mejorada/simplificada a arKristal_v1.02

package motor.colision {
	
	public class Colision {
		
		public var tiempoColision:Number;
		public var cuerpo1,cuerpo2:Cuerpo;
		public var arista1,arista2:Arista;
		
		public function Colision (c1:Cuerpo, c2:Cuerpo, unTiempo:Number, a1:Arista, a2:Arista)
		{
			cuerpo1=c1;
			cuerpo2=c2;
			tiempoColision=unTiempo;
			arista1=a1;
			arista2=a2;
		}
		
		public function getOtroCuerpo (esteCuerpo:Cuerpo):Cuerpo
		{
			if (cuerpo1==esteCuerpo) return cuerpo2; else return cuerpo1;
		}
		
		public function getTipoColision (esteCuerpo:Cuerpo):int
		{
			if (cuerpo1==esteCuerpo)
			{
				return cuerpo1.getNumeroArista(arista1);
			}
			else
			{
				return cuerpo2.getNumeroArista(arista2);
			}
		}
		
		public function dispararColision ()
		{
			cuerpo1.calcularEfectosColision(this);
			cuerpo2.calcularEfectosColision(this);
		}
		
		public function igual (aColision:Colision):Boolean
		{
			//Debido a que mi MC no permite colisiones al mismo tiempo, con una comparacion de tiempo seria suficiente.
			return (tiempoColision==aColision.tiempoColision);
		}
		
	}
	
}